package com.jn.erp.web.api.institution.service;

import com.jn.erp.common.core.result.AjaxResult;
import com.jn.erp.security.entity.SysRole;
import com.jn.erp.web.api.institution.entity.vo.EmployeeInfoDto;
import com.jn.erp.web.api.institution.entity.vo.EmployeeStudentDto;
import com.jn.erp.web.api.institution.entity.vo.EmployeeVo;

import java.util.List;

/**
 * <pre>
 *
 * </pre>
 *
 * @author sunjiyong
 * @since 2024/9/2 9:41
 */

public interface EmployeeService {

    List<EmployeeVo> selectEmployeeList(EmployeeVo employeeVo);

    List<EmployeeVo> selectTeacherEmployees(EmployeeVo employeeVo);

    boolean existOtherOrg(EmployeeVo employeeVo);

    List<SysRole> employeeRoleList(SysRole sysRole);


    List<EmployeeVo> roleUserList(SysRole sysRole);

    List<EmployeeStudentDto> getTeacherStudentList(EmployeeVo employeeVo);

    List<EmployeeInfoDto> getTeacherClassList(EmployeeVo employeeVo);

    //---------------------------统一pc和小程序接口-----------------------------------------------
    AjaxResult employeeUnifyAdd(EmployeeVo employeeVo);


    AjaxResult employeeUnifyEdit(EmployeeVo employeeVo);

    Boolean employeeUnifyExistStudent(EmployeeVo employeeVo);

    AjaxResult employeeUnifyGetInfo(EmployeeVo employeeVo);


    void deleteUnifyRolesOrg(Object orgId, Object userId);


    List<EmployeeVo> selectUnifyListStaff(EmployeeVo employeeVo);

    List<EmployeeVo> followPeopleList(EmployeeVo employeeVo);

    List<EmployeeVo> managerList(EmployeeVo employeeVo);

    List<EmployeeVo> teacherList(EmployeeVo employeeVo);

    List<EmployeeVo> managerJobList(EmployeeVo employeeVo);

    List<EmployeeVo> peopleJobList(EmployeeVo employeeVo);

    List<EmployeeVo> performanceList(EmployeeVo employeeVo);
}
